package map;

import java.util.HashMap;
import java.util.Map;
import java.util.Set;

//Map遍历方式
public class Traverse {
    public static void main(String[] args) {
        Map<String, Integer> map = new HashMap<>();
        //添加元素
        map.put("Java", 98);
        map.put("Python", 75);
        map.put("C", 55);
        map.put("C++", 65);
        map.put("C#", 59);
        map.put("JavaScript", 86);
        System.out.println(map);
        //-------------------------------------------------------
        System.out.println("=============遍历方式一==============");
        //遍历方式一：
        //1、获取所有键
        Set<String> keys = map.keySet();
        //2、遍历所有的键，然后拿值
        for (String key : keys) {
            System.out.println(key + "=" + map.get(key));
        }
        System.out.println("===================================");
        //-----------------------------------------------------------------------------------
        System.out.println("=============遍历方式二==============");
        //遍历方式二：键值对打包成对象放到set
        Set<Map.Entry<String, Integer>> entries = map.entrySet();
        for (Map.Entry<String, Integer> entry : entries) {
            System.out.println(entry.getKey() + "=" + entry.getValue());
        }
        System.out.println("===================================");
        //-------------------------------------------------------
        System.out.println("=============遍历方式三==============");
        //遍历方式三：lambda
        //匿名内部类
//        map.forEach(new BiConsumer<String, Integer>() {
//
//            @Override
//            public void accept(String s, Integer i) {
//                System.out.println(s + "=" + i);
//            }
//        });
        map.forEach((k, v) -> System.out.println(k + "=" + v));
        System.out.println("===================================");
    }
}
